package cn.iocoder.yudao.module.reading.controller.app.favorite.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

/**
 * 收藏项目 Response VO - 前端友好格式
 *
 * @author 李晨
 */
@Schema(description = "用户 APP - 收藏项目 Response VO")
@Data
public class FavoriteItemRespVO {

    @Schema(description = "项目ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long id;

    @Schema(description = "收藏类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "book_set")
    private String itemType;

    @Schema(description = "项目ID（与id相同，为前端兼容）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Long itemId;

    @Schema(description = "项目标题", requiredMode = Schema.RequiredMode.REQUIRED, example = "牛津树1级")
    private String title;

    @Schema(description = "项目封面", example = "https://example.com/cover.jpg")
    private String cover;

    @Schema(description = "项目描述", example = "牛津阅读树第一级别")
    private String description;

    @Schema(description = "语言类型", example = "en")
    private String language;

    @Schema(description = "收藏时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2024-01-06T10:30:00")
    private LocalDateTime favoriteTime;

    @Schema(description = "阅读状态", example = "true")
    private Boolean readStatus;

    @Schema(description = "绘本数量（绘本集专用）", example = "6")
    private Integer bookCount;

    @Schema(description = "时长（音频专用）", example = "180")
    private Integer duration;

    @Schema(description = "收藏类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "book_set")
    private String favoriteType;

    @Schema(description = "收藏备注", example = "很喜欢这个绘本集")
    private String remark;

}
